/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package testmultinxt;

import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import lejos.nxt.Battery;
import lejos.nxt.Motor;
import lejos.nxt.SensorPort;
import lejos.nxt.TouchSensor;
import lejos.nxt.remote.InputValues;
import lejos.nxt.remote.NXTCommand;
import lejos.nxt.remote.RemoteBattery;
import lejos.nxt.remote.RemoteMotor;
import lejos.pc.comm.NXTComm;
import lejos.pc.comm.NXTCommException;
import lejos.pc.comm.NXTCommFactory;
import lejos.pc.comm.NXTInfo;

/**
 *
 * @author Alan
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws NXTCommException, IOException, InterruptedException {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception ex) {
        } finally {
            JFrame f = new Frame2();
            f.setVisible(true);
        }
//
//        // crée un objet nxtComm utilisé pour la connexion à un NXT
//        NXTComm nxtComm = NXTCommFactory.createNXTComm(NXTCommFactory.BLUETOOTH);
//
//        // demande de faire une recherche des NXTs allumés aux alentour
//        NXTInfo[] nxt = nxtComm.search(null, NXTCommFactory.BLUETOOTH);
//
//        // termine si aucun NXT trouvé
//        if (nxt.length < 1) System.exit(0);
//
//        // sinon affiche le nom et l'adresse des NXTs
//        for (int i = 0; i < nxt.length; i++) {
//            System.out.println(nxt[i].name);
//            System.out.println(nxt[i].deviceAddress);
//        }
//
//        // connexion au premier NXT trouvé
//        if (nxtComm.open(nxt[0])) {
//            System.out.println("Connexion ok.");
//            /*
//            // crée un objet NXTCommand utilisé pour commandé le robot à distance (d'où les "remote")
//            NXTCommand command = new NXTCommand();
//
//            // affectation de l'objet NXTCommand à l'objet NXTComm
//            // qui contient la connexion vers un NXT donné
//            command.setNXTComm(nxtComm);
//
//            // récupération des infos batterie
//            RemoteBattery battery = new RemoteBattery(command);
//            System.out.println("Niveau de batterie : " + battery.getVoltage());
//
//            InputValues val = command.getInputValues(1);
//            System.out.println("calibratedValue: " + val.calibratedValue + "\n" +
//                               "isCalibrated: " + val.isCalibrated + "\n" +
//                               "normalizedADValue: " + val.normalizedADValue + "\n" +
//                               "rawADValue: " + val.rawADValue + "\n" +
//                               "scaledValue: " + val.scaledValue  + "\n" +
//                               "sensorMode: " + val.sensorMode + "\n" +
//                               "sensorType: " + val.sensorType + "\n" +
//                               "valid: " + val.valid);
//
//            // fin du programme
//            command.close();
//            */
//            /*
//            // controle robot 1
//            MyNXTCommand.send(nxtComm, new MyNXTCommand.Callback() {
//
//                public void call() {
//                    try {
//                        Motor.C.setPower(25);
//                        Motor.B.setPower(25);
//                        Motor.C.forward();
//                        Motor.B.forward();
//                        Thread.sleep(2000);
//                        Motor.C.stop();
//                        Motor.B.stop();
//                    } catch (InterruptedException ex) {
//                        Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
//                    }
//                }
//            });
//
//            MyNXTCommand.send(nxtComm, new MyNXTCommand.Callback() {
//
//                public void call() {
//                    System.out.println(Battery.getVoltage());
//                }
//            });
//
//            // controle robot 2
//            // ...
//
//            nxtComm.close();
//            */
//        } else {
//            System.out.println("Echec connexion.");
//        }
//
    }

}
